package com.shujia.day07.retu;

public class Code13ReturnOperator {
    public static void main(String[] args) {
        /*
        返回值类型
                基本类型:
                    当返回值类型为基本类型时，可以直接给定具体的值或变量
                引用类型:
                    类：当类作为方法的返回值类型时，返回的是该类的对象,或者是他的子类
                    抽象类：抽象类作为返回值时，可以返回其子实现类的对象
                    接口：接口作为返回值时，可以返回对应的实现类对象
         */

        // 该编程方式称为 链式编程 在Scala语言中用的较多
        new TeacherUse3().getTeacher().teach();
    }


}

interface Teach {
    void teach();
}


class TeacherImpl2 implements Teach {


    @Override
    public void teach() {
        System.out.println("TeacherImpl 实现了 教学接口中的 teach方法");
    }
}

class TeacherUse3 {

    public Teach getTeacher() {
        // 也是因为多态的原因
        return new TeacherImpl2();
    }
}
